//1.商品信息数据库
const menuModel = require('../db/menu')
//2.导入购物车数据库
const cartModel = require('../db/cart')
//3.导入订单数据库
const orderModel = require('../db/order')
const userModel = require('../db/user')

//
//2.书写方法

module.exports = {
    getAllCreate(req, res) {
        // 接收所有结算的购物车数据的id

        // 将查询到的商品id获取商品信息

        // 拿商品id查询商品名称

        // 组合订单需要的数据

        // 插入到订单表

        // 删除购物车表中数据

        //读取数据
        let {
            userid,
            mode
        } = req.body
        // 订单需要的数据
        // console.log(userid);
        // //判断重要数据是否为空
        // if (!userid) {
        //     //res.josn 发送一个 JSON 格式的响应
        //     res.json({
        //         error_code: 2,
        //         msg: '用户id不能为空'
        //     })
        //     return
        // }
        // 用id做条件查询购物车表
        // cartModel.find({}, {__v: 0}, (err, docs) => {
        //     // let menuid = docs.menuid
        //     // console.log(menuid);
        //     if (err) {
        //         throw new Error(err)
        //     }
        //     res.json({
        //         error_code: 0,
        //         msg: "当前用户的购物车信息",
        //         data: docs,
        //     })
        // })
        if(mode ==='堂食'){
            mode = true
        }
        if(mode === '打包'){
            mode = false
        }

        cartModel.find({
            userid
        }, {
            __v: 0
        }, (err, docs) => {
            if (err) {
                throw new Error(err)
            }
            if (docs.length) {
                // let poo =[]

                // for(let o = 0; o < docs.length ; o++){
                //     poo[o] = docs[o]
                //     console.log(poo[o].menuid);
                //     let{menuid} = poo[o].menuid
                //     menuModel.find({menuid} ,(err,docs) =>{
                //         if(err){
                //             throw new Error (err)
                //         }
                //         if(docs){
                //             console.log(docs);
                //         }
                //     })
                // }
                // let firtename = poo[0].name
                // console.log(firtename);
                // 遍历全部商品信息 从其中读取到想要的数据
                menuModel.find({}, (err,docs) =>{
                    if (err) {
                        throw new Error(err)
                    }
                console.log(docs);
                let menuprcie = []
                let menuname =[]
                for(let b = 0 ; b < docs.length ; b++){
                    menuprcie[b] = docs[b].price
                    menuname [b] = docs[b].name
                } 
                console.log(menuprcie,menuname);
                })
                let menuname =JSON.stringify(docs)
                console.log(menuname); 
                res.json({
                    error_code: 1,
                    msg: "当前用户的购物车信息",
                    data: docs,  
                })
                console.log(docs);
                // 读取第一个名字
                let firtename = docs[0].speandkind
                console.log(firtename);
                // 定义装名字跟商品id的数组
                let arr = []
                let brr = []
                // 读取num
                for(let i = 0 ; i < docs.length; i++){
                    arr[i] = docs[i].num
                    brr[i] = docs[i].menuid
                }
                   
                // console.log(arr,brr);
            
                //订单跟取餐码随机
                let rd = Math.random().toString().slice(2, 22)
                let rd2 = Math.random().toString().slice(2, 4)

                orderModel.insertMany({
                    orderno: rd,
                    time: +new Date(),
                    // mode: mode,
                    //堂食
                    mode: mode,
                    menuname: firtename,
                    code: '00'+ rd2,
                    status: "付款成功",
                    // userid:,
                    if (err) {
                        throw new Error(err)
                    }
                    // res.json({
                    //     error_code: 0,
                    //     msg: '订单添加成功'
                    // })
                    // return
                })
                return

            }
        })
        //如果不为空证明输入的数据可以读取到 然后在订单数据库中查询是否存在该订单
        // orderModel.find({orderno},(err,docs) =>{
        //     if(err){
        //         throw new Error()
        //     }
        //     if(docs){
        //         res.json({
        //             error_code:1,
        //             msg:'该订单已存在'
        //         })
        //         return
        //     }
        // Math.random().toString().slice(2,11);
        /*
        Math.random().toString().slice(2,11);
        Math.random()                         ->  0.12345678901234
                     .toString()              -> "0.12345678901234"
                                .slice(2,11)  ->   "123456789"
         */

    },
    getCreate(req, res) {
        res.json('123')
    }
}